package com.utf999.qiangmanger.dao.iface;

import java.util.List;

import com.utf999.qiangmanger.dao.IQiangDAO;
import com.utf999.qiangmanger.entity.orm.AdminUserEntity;
import com.utf999.qiangmanger.exception.BizException;

public interface IAdminUserDAO extends IQiangDAO<AdminUserEntity> {
	/**
	 * 按照用户名查询 后台管理系统的使用者信息
	 * @param userName 后台系统使用的用户名
	 * @return 查询到的用户信息将被返回；否则返回null
	 * @throws BizException
	 */
	public AdminUserEntity queryAdminUser(String userName) throws BizException;
	
	/**
	 * 查询指定商户下的后台管理员信息
	 * @param storeid 商户的编号信息
	 * @param status 可能传入的状态要求，如果传入表示只查询某种状态的管理员用户
	 * @return 符合查询条件的信息在这里返回
	 * @throws BizException
	 */
	public List<AdminUserEntity> queryAdminByStore(String storeid , Integer status) throws BizException;
	
	/**
	 * 查询系统中超级管理员的信息
	 * @param status 可能传入的状态要求，如果传入表示只查询某种状态的管理员用户
	 * @return
	 * @throws BizException
	 */
	public List<AdminUserEntity> querySuperAdmin(Integer status) throws BizException;
	
	/**
	 * 查询系统中指定公司的公司管理员的基本信息。注意一个公司肯定有一个管理员（且只有一个）<br>
	 * 公司管理员无法被禁用
	 * @param companyid 指定的公司编号
	 * @return
	 * @throws BizException
	 */
	public List<AdminUserEntity> queryCompanyAdmin(String companyid) throws BizException;
}
